Traditionally, application virtualization refers to the virtualization of system support. In other words, a virtual application means the application can be executed on a virtual machine (VM) of various operation systems (e.g., Windows, Linux, Solaris, etc.). It is desirable to develop a new application virtualization technique that allows an application to be executed in an inter-cloud environment (e.g., across multiple clouds).